500
How can I get the number of results after a filter is applied

// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
void __fastcall TForm1::List1Click(TObject *Sender)
{
	List1->ClearFilter();
}

// FilterChange event - Occurs when filter was changed.
void __fastcall TForm1::List1FilterChange(TObject *Sender)
{
	OutputDebugString( L"Items.MatchItemCount" );
	OutputDebugString( PChar(List1->Items->MatchItemCount) );
	OutputDebugString( PChar(List1->FormatABC(L"value < 0 ? `filter applied: ` + abs(value + 1) + ` result(s)` : `no filter`",List1->Items->MatchItemCount,TNoParam(),TNoParam())) );
}

List1->BeginUpdate();
List1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item A"));
	var_Items->Add(TVariant("Item B"));
	var_Items->Add(TVariant("Item C"));
List1->FilterBarPromptVisible = Exlistlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
List1->FilterBarPromptPattern = L"Item";
List1->EndUpdate();

499
How can I programmatically clear the control's filter
// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
void __fastcall TForm1::List1Click(TObject *Sender)
{
	List1->ClearFilter();
}

List1->BeginUpdate();
List1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item A"));
	var_Items->Add(TVariant("Item B"));
	var_Items->Add(TVariant("Item C"));
List1->FilterBarPromptVisible = Exlistlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
List1->FilterBarPromptPattern = L"B";
List1->EndUpdate();

498
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt-combined)

List1->BeginUpdate();
List1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item A"));
	var_Items->Add(TVariant("Item B"));
	var_Items->Add(TVariant("Item C"));
List1->FilterBarPromptPattern = L"B";
List1->FilterBarPromptVisible = Exlistlib_tlb::FilterBarVisibleEnum::exFilterBarVisible | Exlistlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
Exlistlib_tlb::IColumnPtr var_Column1 = List1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exlistlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item B";
List1->ApplyFilter();
List1->EndUpdate();

497
Is it possible to prevent closing the control's filter bar, so it is always shown (prompt)

List1->BeginUpdate();
List1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item A"));
	var_Items->Add(TVariant("Item B"));
	var_Items->Add(TVariant("Item C"));
List1->FilterBarPromptVisible = Exlistlib_tlb::FilterBarVisibleEnum::exFilterBarPromptVisible;
List1->FilterBarPromptPattern = L"B";
List1->EndUpdate();

496
Is it possible to prevent closing the control's filter bar, so it is always shown

List1->BeginUpdate();
List1->Columns->Add(L"Item")->DisplayFilterButton = true;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Pos");
	var_Column->AllowSizing = false;
	var_Column->AllowSort = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 apos ``";
	var_Column->Position = 0;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item A"));
	var_Items->Add(TVariant("Item B"));
	var_Items->Add(TVariant("Item C"));
List1->FilterBarCaption = L"len(value) = 0 ? `<fgcolor=808080>no filter` : value";
List1->FilterBarPromptVisible = Exlistlib_tlb::FilterBarVisibleEnum::exFilterBarVisible;
Exlistlib_tlb::IColumnPtr var_Column1 = List1->Columns->get_Item(TVariant(0));
	var_Column1->FilterType = Exlistlib_tlb::FilterTypeEnum::exFilter;
	var_Column1->Filter = L"Item B";
List1->ApplyFilter();
List1->EndUpdate();

495
How can I find if the control is running in DPI mode
OutputDebugString( PChar(List1->FormatABC(L"dpi = 1 ? `normal/stretch mode` : `dpi mode`",TNoParam(),TNoParam(),TNoParam())) );

494
I am using single selection, the question is if possible to select an item only when the user releases the mouse, as currently it selects the item as soon as the user clicks it
// SelectionChanged event - Fired after a new item is selected.
void __fastcall TForm1::List1SelectionChanged(TObject *Sender)
{
	OutputDebugString( L"SelectionChanged" );
}

List1->BeginUpdate();
List1->FreezeEvents(true);
List1->SingleSel = true;
List1->SelectOnRelease = true;
List1->Columns->Add(L"Column")->FormatColumn = L"1 apos `A-Z`";
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant(""));
	var_Items->set_SelectItem(var_Items->Add(TVariant("")),true);
	var_Items->Add(TVariant(""));
List1->FreezeEvents(false);
List1->EndUpdate();

493
Is it possible to select nothing
// SelectionChanged event - Fired after a new item is selected.
void __fastcall TForm1::List1SelectionChanged(TObject *Sender)
{
	OutputDebugString( L"SelectionChanged" );
}

List1->BeginUpdate();
List1->FreezeEvents(true);
List1->AllowSelectNothing = true;
List1->Columns->Add(L"Column")->FormatColumn = L"1 apos `A-Z`";
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant(""));
	var_Items->set_SelectItem(var_Items->Add(TVariant("")),true);
	var_Items->Add(TVariant(""));
List1->FreezeEvents(false);
List1->EndUpdate();

492
How do I change the drop down filter icon/button (black)

List1->BeginUpdate();
Exlistlib_tlb::IAppearancePtr var_Appearance = List1->VisualAppearance;
	var_Appearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAAEhABXUIQAAYAQGKIcBiAKBQAGYBIJDEMgzDDAUBjKKocQTC4AIQjCK4JDKHYJRpHEZyCA8EhqGASRAFUQBYiWE4oSpLABQaK0ZwIGyRIrkGQgQ") +
"gmPYDSDNU4zVIEEglBI0TDNczhNDENgtGYaJqHIYpZBcM40TKkEZoSIITZcRrOEBiRL1S0RBhGcRUHZlWzdN64LhuK47UrWdD/XhdVzXRbjfz1Oq+bxve48Br7A5yYTh" +
"dr4LhOFQ3RjIL4xbIcUwGe6VZhjOLZXjmO49T69HTtOCYBEBA"));
List1->Background[Exlistlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = -1;
List1->Background[Exlistlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x1000000;
List1->Background[Exlistlib_tlb::BackgroundPartEnum::exBackColorFilter] = RGB(0,0,1);
List1->Background[Exlistlib_tlb::BackgroundPartEnum::exForeColorFilter] = RGB(255,255,255);
List1->Description[Exlistlib_tlb::DescriptionTypeEnum::exFilterBarExclude] = L"<bgcolor 0><fgcolor ffffff> Exclude </fgcolor></bgcolor>";
List1->HeaderAppearance = Exlistlib_tlb::AppearanceEnum::None2;
List1->BackColorHeader = RGB(0,0,0);
List1->ForeColorHeader = RGB(255,255,255);
List1->HeaderVisible = true;
List1->BackColorLevelHeader = List1->BackColor;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Filter");
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowExclude | Exlistlib_tlb::FilterListEnum::exShowCheckBox;
	var_Column->DisplayFilterButton = true;
	var_Column->AllowSort = false;
	var_Column->AllowDragging = false;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("One"));
	var_Items->Add(TVariant("Two"));
	var_Items->Add(TVariant("Three"));
List1->EndUpdate();

491
How do I change the drop down filter icon/button (white)

List1->BeginUpdate();
Exlistlib_tlb::IAppearancePtr var_Appearance = List1->VisualAppearance;
	var_Appearance->Add(2,TVariant(String("gBFLBCJwBAEHhEJAAEhABX8GACAADACAxSDEMQBQKAAzQFAYbhgHCGAAGQaBUgmFgAQhFcZQSKUOQTDKNYykCIRSDUJYkSZEIyjBI8ExXFqNACkGKwYgmNYiTLAcgAN") +
"J0WBaGIZJ4gOT5fDKMoEDRRYADFCscwxJybQAqGQKKb+VgAVY/cTyBIAEQSKA0TDOQ5TSKWB4JPZQRBEbZMNBtBIUJquKaqShdQJCU5FdY3Xblez9P7AMBwLFEC4NQ8Y" +
"NYuPhjR4dRTIMhvVAsUArFh8Zg9GZZFjmDIDT4ydBLTQwcyVIKnP5qOa6XbmPoCQDYKxZHYxPzVDa3axuL76dqCAT7XrXNy1TbNRrzQKfcJqfCbdw2YaDZLOOT3fjuI4" +
"hhKaRzFAHJ+jYQ4xHuY4gHuGIXGeExqC8Tp6C+PoEm+G5ImycRgh0XwvDGa5rgOeoejyXwnFeQp2mkf5ClgBB9gCWIYAwfYAEKV58mkdwOggNArgOXY2EWLoDkKOA0mg" +
"bhOGgZApgaSBIHWSYHSmbApgYThmESZYJkIeIkgeCpfliLIHgpMIcmUYYYmODAlg2SI4mWfRfGOEguDcCRjFYAJihCQhJBSDoRmONgKEcI4kFCEJhhOVYTmYnAlEAQhW" +
"BMJYJGYWoWmWSR2F6F5lnkWAQhUAgpEieRWEuSYkjWGpmkmNhuhuZwJkYcocmaaYkjyEhngnUA6lEFAlAEgI="));
	var_Appearance->Add(1,TVariant("CP:2 -14 -4 -2 4"));
List1->Background[Exlistlib_tlb::BackgroundPartEnum::exHeaderFilterBarButton] = 0x1000000;
List1->Background[Exlistlib_tlb::BackgroundPartEnum::exCursorHoverColumn] = List1->BackColor;
List1->HeaderAppearance = Exlistlib_tlb::AppearanceEnum::None2;
List1->BackColorHeader = RGB(255,255,255);
List1->HeaderVisible = true;
List1->HeaderHeight = 24;
List1->BackColorLevelHeader = List1->BackColor;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Filter");
	var_Column->DisplayFilterButton = true;
	var_Column->AllowSort = false;
	var_Column->AllowDragging = false;
List1->EndUpdate();

490
Can I display the column's multiple-lines caption vertically oriented (method 2)

List1->BeginUpdate();
List1->HeaderHeight = 48;
List1->ColumnAutoResize = true;
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"And others ...");
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"");
		var_Column->HTMLCaption = L"First Column";
		var_Column->HeaderVertical = true;
		var_Column->Width = 36;
		var_Column->AllowSizing = false;
		var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column->Position = 0;
	Exlistlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"");
		var_Column1->HTMLCaption = L"<c><b>Second Column";
		var_Column1->HeaderVertical = true;
		var_Column1->Width = 36;
		var_Column1->AllowSizing = false;
		var_Column1->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->set_Def(Exlistlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column1->Position = 1;
	Exlistlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"");
		var_Column2->HTMLCaption = L"<r>Third Column";
		var_Column2->HeaderVertical = true;
		var_Column2->Width = 36;
		var_Column2->AllowSizing = false;
		var_Column2->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->set_Def(Exlistlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column2->Position = 2;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_CellState(var_Items->Add(TVariant("Item 1")),TVariant(3),1);
	var_Items->set_CellState(var_Items->Add(TVariant("Item 2")),TVariant(2),1);
	var_Items->set_CellState(var_Items->Add(TVariant("Item 3")),TVariant(1),1);
List1->EndUpdate();

489
Can I display the column's multiple-lines caption vertically oriented (method 1)

List1->BeginUpdate();
List1->HeaderHeight = 48;
List1->HeaderSingleLine = false;
List1->ColumnAutoResize = true;
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"And others ...");
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"First Column");
		var_Column->HeaderVertical = true;
		var_Column->Width = 36;
		var_Column->AllowSizing = false;
		var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column->Position = 0;
	Exlistlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Second Column");
		var_Column1->HeaderBold = true;
		var_Column1->HeaderVertical = true;
		var_Column1->Width = 36;
		var_Column1->AllowSizing = false;
		var_Column1->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->set_Def(Exlistlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column1->Position = 1;
	Exlistlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"Third Column");
		var_Column2->HeaderVertical = true;
		var_Column2->Width = 36;
		var_Column2->AllowSizing = false;
		var_Column2->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->set_Def(Exlistlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(8));
		var_Column2->Position = 2;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_CellState(var_Items->Add(TVariant("Item 1")),TVariant(3),1);
	var_Items->set_CellState(var_Items->Add(TVariant("Item 2")),TVariant(2),1);
	var_Items->set_CellState(var_Items->Add(TVariant("Item 3")),TVariant(1),1);
List1->EndUpdate();

488
Can I display the column's caption vertically oriented (method 2)

List1->BeginUpdate();
List1->HeaderHeight = 48;
List1->ColumnAutoResize = true;
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"And others ...");
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"");
		var_Column->HTMLCaption = L"First";
		var_Column->HeaderVertical = true;
		var_Column->Width = 20;
		var_Column->AllowSizing = false;
		var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->Position = 0;
	Exlistlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"");
		var_Column1->HTMLCaption = L"<c><b>Second";
		var_Column1->HeaderVertical = true;
		var_Column1->Width = 20;
		var_Column1->AllowSizing = false;
		var_Column1->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->Position = 1;
	Exlistlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"");
		var_Column2->HTMLCaption = L"<r>Third";
		var_Column2->HeaderVertical = true;
		var_Column2->Width = 20;
		var_Column2->AllowSizing = false;
		var_Column2->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->Position = 2;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_CellState(var_Items->Add(TVariant("Item 1")),TVariant(3),1);
	var_Items->set_CellState(var_Items->Add(TVariant("Item 2")),TVariant(2),1);
	var_Items->set_CellState(var_Items->Add(TVariant("Item 3")),TVariant(1),1);
List1->EndUpdate();

487
Can I display the column's caption vertically oriented (method 1)

List1->BeginUpdate();
List1->HeaderHeight = 48;
List1->ColumnAutoResize = true;
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"And others ...");
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"First");
		var_Column->HeaderVertical = true;
		var_Column->Width = 20;
		var_Column->AllowSizing = false;
		var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column->Position = 0;
	Exlistlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Second");
		var_Column1->HeaderBold = true;
		var_Column1->HeaderVertical = true;
		var_Column1->Width = 20;
		var_Column1->AllowSizing = false;
		var_Column1->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column1->Position = 1;
	Exlistlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"Third");
		var_Column2->HeaderVertical = true;
		var_Column2->Width = 20;
		var_Column2->AllowSizing = false;
		var_Column2->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
		var_Column2->Position = 2;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_CellState(var_Items->Add(TVariant("Item 1")),TVariant(3),1);
	var_Items->set_CellState(var_Items->Add(TVariant("Item 2")),TVariant(2),1);
	var_Items->set_CellState(var_Items->Add(TVariant("Item 3")),TVariant(1),1);
List1->EndUpdate();

486
How do I get sorted the column as string, numeric, date, date and time. Also how can it be applied to drop down filter panel

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Date");
	var_Column->SortType = Exlistlib_tlb::SortTypeEnum::SortDate;
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->DisplayFilterDate = true;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exShowCheckBox | Exlistlib_tlb::FilterListEnum::exSortItemsDesc;
Exlistlib_tlb::IColumnPtr var_Column1 = List1->Columns->Add(L"DateTime");
	var_Column1->SortType = Exlistlib_tlb::SortTypeEnum::SortDateTime;
	var_Column1->DisplayFilterButton = true;
	var_Column1->DisplayFilterPattern = false;
	var_Column1->FilterList = Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exShowCheckBox | Exlistlib_tlb::FilterListEnum::exSortItemsDesc;
Exlistlib_tlb::IColumnPtr var_Column2 = List1->Columns->Add(L"Time");
	var_Column2->SortType = Exlistlib_tlb::SortTypeEnum::SortTime;
	var_Column2->DisplayFilterButton = true;
	var_Column2->DisplayFilterPattern = false;
	var_Column2->FilterList = Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exShowCheckBox | Exlistlib_tlb::FilterListEnum::exSortItemsDesc;
	var_Column2->FormatColumn = L"time(value)";
Exlistlib_tlb::IColumnPtr var_Column3 = List1->Columns->Add(L"Numeric");
	var_Column3->SortType = Exlistlib_tlb::SortTypeEnum::SortNumeric;
	var_Column3->DisplayFilterButton = true;
	var_Column3->FilterList = Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exShowCheckBox | Exlistlib_tlb::FilterListEnum::exSortItemsDesc;
Exlistlib_tlb::IColumnPtr var_Column4 = List1->Columns->Add(L"String");
	var_Column4->DisplayFilterButton = true;
	var_Column4->FilterList = Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exShowCheckBox | Exlistlib_tlb::FilterListEnum::exSortItemsDesc;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant(TDateTime(2010,1,27).operator double()));
	var_Items->set_Caption(h,TVariant(1),TVariant(TDateTime(2010,1,27,10,00,00,0).operator double()));
	var_Items->set_Caption(h,TVariant(2),TVariant(var_Items->get_Caption(h,TVariant(1))));
	var_Items->set_Caption(h,TVariant(3),TVariant(1));
	var_Items->set_Caption(h,TVariant(4),TVariant(var_Items->get_Caption(h,TVariant(3))));
	h = var_Items->Add(TVariant(TDateTime(2011,1,27).operator double()));
	var_Items->set_Caption(h,TVariant(1),TVariant(TDateTime(2011,1,27,9,00,00,0).operator double()));
	var_Items->set_Caption(h,TVariant(2),TVariant(var_Items->get_Caption(h,TVariant(1))));
	var_Items->set_Caption(h,TVariant(3),TVariant(11));
	var_Items->set_Caption(h,TVariant(4),TVariant(var_Items->get_Caption(h,TVariant(3))));
	h = var_Items->Add(TVariant(TDateTime(2010,11,2).operator double()));
	var_Items->set_Caption(h,TVariant(1),TVariant(TDateTime(2010,11,2,9,00,00,0).operator double()));
	var_Items->set_Caption(h,TVariant(2),TVariant(var_Items->get_Caption(h,TVariant(1))));
	var_Items->set_Caption(h,TVariant(3),TVariant(2));
	var_Items->set_Caption(h,TVariant(4),TVariant(var_Items->get_Caption(h,TVariant(3))));
List1->Columns->get_Item(TVariant("DateTime"))->DisplayFilterDate = false;
List1->EndUpdate();

485
How can I get ride / hide the image being dragged by OLE Drag and Drop
// OLEStartDrag event - Occurs when the OLEDrag method is called.
void __fastcall TForm1::List1OLEStartDrag(TObject *Sender,Exlistlib_tlb::IExDataObject   *Data,long *   AllowedEffects)
{
	// Data.SetData("data to drag")
	AllowedEffects = 1;
}

List1->OLEDropMode = Exlistlib_tlb::exOLEDropModeEnum::exOLEDropManual;
List1->Background[Exlistlib_tlb::BackgroundPartEnum::exDragDropAfter] = RGB(255,255,255);
List1->Columns->Add(L"Default");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->Add(TVariant("Item 2"));
	var_Items->Add(TVariant("Item 3"));

484
Is there an event that fires on the exList control when the order of items in the list is changed via dragging
// AllowAutoDrag event - Occurs when the user drags the item between InsertA and InsertB.
void __fastcall TForm1::List1AllowAutoDrag(TObject *Sender,long   Item,long   InsertA,long   InsertB,VARIANT_BOOL *   Cancel)
{
	Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
		OutputDebugString( L"After" );
		OutputDebugString( PChar(var_Items->get_Caption(InsertA,TVariant(0))) );
		OutputDebugString( L"Before" );
		OutputDebugString( PChar(var_Items->get_Caption(InsertB,TVariant(0))) );
	Cancel = true;
}

List1->BeginUpdate();
List1->AutoDrag = Exlistlib_tlb::AutoDragEnum::exAutoDragPosition;
List1->Columns->Add(L"Task");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->Add(TVariant("Item 2"));
	var_Items->Add(TVariant("Item 3"));
	var_Items->Add(TVariant("Item 4"));
List1->EndUpdate();

483
How can I export checked items only

List1->BeginUpdate();
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"C1")->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Columns->Add(L"C2")->FormatColumn = L"1 index `A-Z`";
	var_Columns->Add(L"C3")->FormatColumn = L"100 index ``";
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->set_CellState(var_Items->Add(TVariant("Item 2")),TVariant(0),1);
	var_Items->set_CellState(var_Items->Add(TVariant("Item 3")),TVariant(0),1);
List1->EndUpdate();
OutputDebugString( L"Export CSV Checked Items Only:" );
OutputDebugString( PChar(List1->Export(TVariant(""),TVariant("chk"))) );

482
How can I export a hidden column

List1->BeginUpdate();
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"C1");
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"C2");
		var_Column->FormatColumn = L"1 index `A-Z`";
		var_Column->Visible = false;
	Exlistlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"C3");
		var_Column1->FormatColumn = L"100 index ``";
		var_Column1->Visible = false;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->Add(TVariant("Item 2"));
	var_Items->Add(TVariant("Item 3"));
List1->EndUpdate();
OutputDebugString( L"Export CSV Hidden Columns (1,2):" );
OutputDebugString( PChar(List1->Export(TVariant(""),TVariant("|1,2"))) );

481
Is it possible to have a different alignment for parts of the cell's caption

List1->BeginUpdate();
List1->DrawGridLines = Exlistlib_tlb::GridLinesEnum::exAllLines;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Default");
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_CellHAlignment(var_Items->Add(TVariant("all-left")),TVariant(0),Exlistlib_tlb::AlignmentEnum::LeftAlignment);
	var_Items->set_CellHAlignment(var_Items->Add(TVariant("all-center")),TVariant(0),Exlistlib_tlb::AlignmentEnum::CenterAlignment);
	var_Items->set_CellHAlignment(var_Items->Add(TVariant("all-right")),TVariant(0),Exlistlib_tlb::AlignmentEnum::RightAlignment);
	long h = var_Items->Add(TVariant("left<c>center<r>right"));
	var_Items->set_CaptionFormat(h,TVariant(0),Exlistlib_tlb::CaptionFormatEnum::exHTML);
List1->EndUpdate();

480
I have a column with Def(exCellSingleLine) property on False, word-wrapping, and I am wondering if possible to update the column's content while user is resizing it
List1->BeginUpdate();
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"MultipleLine");
		var_Column->Width = 32;
		var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(false));
		var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exColumnResizeContiguously,TVariant(true));
	Exlistlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"SingleLine");
		var_Column1->set_Def(Exlistlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(false));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_Caption(var_Items->Add(TVariant("This is a bit of long text that should break the line")),TVariant(1),TVariant("This is a bit of long text that should break the line"));
List1->EndUpdate();

479
How can I hide the cell's tooltip
// ToolTip event - Fired when the control prepares the object's tooltip.
void __fastcall TForm1::List1ToolTip(TObject *Sender,long   ItemIndex,long   ColIndex,VARIANT_BOOL *   Visible,long *   X,long *   Y,long   CX,long   CY)
{
	OutputDebugString( L"The tooltip is about to be shown" );
	Visible = false;
}

List1->BeginUpdate();
List1->Columns->Add(L"Def");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_CellToolTip(var_Items->Add(TVariant("Item 1")),TVariant(0),L"This is a bit of text that's shown when cursor hovers the item.");
	var_Items->set_CellToolTip(var_Items->Add(TVariant("Item 2")),TVariant(0),L"This is a bit of text that's shown when cursor hovers the item.");
	var_Items->set_CellToolTip(var_Items->Add(TVariant("Item 3")),TVariant(0),L"This is a bit of text that's shown when cursor hovers the item.");
List1->EndUpdate();

478
How can I find out if an item is selected or unselected
// MouseMove event - Occurs when the user moves the mouse.
void __fastcall TForm1::List1MouseMove(TObject *Sender,short   Button,short   Shift,int   X,int   Y)
{
	long i = List1->ItemFromPoint[-1,-1,c,hit];
	Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
		OutputDebugString( PChar(var_Items->get_SelectItem(i)) );
}

List1->Columns->Add(L"Header");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->set_SelectItem(var_Items->Add(TVariant("Item 2")),true);
	var_Items->Add(TVariant("Item 3"));

477
How do I sort the index column as numeric

// AddItem event - Occurs after a new Item is inserted to Items collection.
void __fastcall TForm1::List1AddItem(TObject *Sender,long   Item)
{
	Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
		var_Items->set_CellData(Item,TVariant(1),TVariant(Item));
}

List1->BeginUpdate();
List1->DrawGridLines = Exlistlib_tlb::GridLinesEnum::exAllLines;
List1->ColumnAutoResize = true;
List1->ShowFocusRect = false;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Next");
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(4));
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exHeaderPaddingLeft,TVariant(4));
Exlistlib_tlb::IColumnPtr var_Column1 = List1->Columns->Add(L"Index");
	var_Column1->AllowSizing = false;
	var_Column1->Width = 48;
	var_Column1->FormatColumn = L"(((0 := (1 index ``)) mod 3) case ( default: ``; 0 : `<r><fgcolor=B0B0B0>`; 1: ``; 2 : `<c><fgcolor=808080>` )) + str(=:0)";
	var_Column1->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
	var_Column1->SortType = Exlistlib_tlb::SortTypeEnum::SortUserData;
	var_Column1->Position = 0;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->Add(TVariant("Item 2"));
	var_Items->Add(TVariant("Item 3"));
	var_Items->Add(TVariant("Item 4"));
	var_Items->Add(TVariant("Item 5"));
	var_Items->Add(TVariant("Item 6"));
	var_Items->Add(TVariant("Item 7"));
	var_Items->Add(TVariant("Item 8"));
	var_Items->Add(TVariant("Item 9"));
	var_Items->Add(TVariant("Item 10"));
List1->EndUpdate();

476
How can I put icons/images into buttons

List1->BeginUpdate();
List1->ColumnAutoResize = true;
List1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"C+B");
	var_Column->AllowSizing = false;
	var_Column->Width = 48;
	var_Column->FormatColumn = L"` <img>` + ( 1 + (1 index ``) mod 3 ) + `</img> `";
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasButton,TVariant(true));
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasButton | Exlistlib_tlb::DefColumnEnum::exCellHasRadioButton,TVariant(true));
List1->Columns->Add(L"");
List1->DrawGridLines = Exlistlib_tlb::GridLinesEnum::exVLines;
List1->DefaultItemHeight = 20;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
List1->EndUpdate();

475
Is it possible to have a CheckBox and Button TOGETHER on all cells in a column

// CellButtonClick event - Fired after the user clicks the cell's button.
void __fastcall TForm1::List1CellButtonClick(TObject *Sender,long   Item,long   ColIndex)
{
	OutputDebugString( L"CellButtonClick" );
	OutputDebugString( L"Item" );
}

// CellStateChanged event - Fired after cell's state is changed.
void __fastcall TForm1::List1CellStateChanged(TObject *Sender,long   Item,long   ColIndex)
{
	OutputDebugString( L"CellStateChanged" );
	OutputDebugString( L"Item" );
}

List1->BeginUpdate();
List1->ColumnAutoResize = true;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"");
	var_Column->AllowSizing = false;
	var_Column->Width = 32;
	var_Column->FormatColumn = L"1 index ``";
Exlistlib_tlb::IColumnPtr var_Column1 = List1->Columns->Add(L"Def");
	var_Column1->AllowSizing = false;
	var_Column1->Width = 48;
	var_Column1->FormatColumn = L"`     `";
	var_Column1->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column1->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasButton,TVariant(true));
	var_Column1->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasButton | Exlistlib_tlb::DefColumnEnum::exCellHasRadioButton,TVariant(true));
List1->Columns->Add(L"");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant(""));
List1->EndUpdate();

474
Does filtering work with umlauts / accents characters
List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Names");
	var_Column->DisplayFilterButton = true;
	var_Column->FilterType = Exlistlib_tlb::FilterTypeEnum::exPattern;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Mantel"));
	var_Items->Add(TVariant("Mechanik"));
	var_Items->Add(TVariant("Motor"));
	var_Items->Add(TVariant("Murks"));
	var_Items->Add(TVariant("Märchen"));
	var_Items->Add(TVariant("Möhren"));
	var_Items->Add(TVariant("Mühle"));
	var_Items->Add(TVariant("Sérigraphie"));
List1->Columns->get_Item(TVariant(0))->Filter = L"*ä*";
List1->ApplyFilter();
List1->EndUpdate();

473
Can I set the search box / filterbarprompt to invisible, so I can use my own input and *string* via VBA
List1->BeginUpdate();
List1->ColumnAutoResize = true;
List1->ContinueColumnScroll = false;
List1->MarkSearchColumn = false;
List1->SearchColumnIndex = 1;
List1->FilterBarHeight = 0;
List1->FilterBarPromptVisible = true;
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"Name")->Width = 96;
	var_Columns->Add(L"Title")->Width = 96;
	var_Columns->Add(L"City");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h0 = var_Items->Add(TVariant("Nancy Davolio"));
	var_Items->set_Caption(h0,TVariant(1),TVariant("Sales Representative"));
	var_Items->set_Caption(h0,TVariant(2),TVariant("Seattle"));
	h0 = var_Items->Add(TVariant("Andrew Fuller"));
	var_Items->set_Caption(h0,TVariant(1),TVariant("Vice President, Sales"));
	var_Items->set_Caption(h0,TVariant(2),TVariant("Tacoma"));
	var_Items->set_SelectItem(h0,true);
	h0 = var_Items->Add(TVariant("Janet Leverling"));
	var_Items->set_Caption(h0,TVariant(1),TVariant("Sales Representative"));
	var_Items->set_Caption(h0,TVariant(2),TVariant("Kirkland"));
	h0 = var_Items->Add(TVariant("Margaret Peacock"));
	var_Items->set_Caption(h0,TVariant(1),TVariant("Sales Representative"));
	var_Items->set_Caption(h0,TVariant(2),TVariant("Redmond"));
	h0 = var_Items->Add(TVariant("Steven Buchanan"));
	var_Items->set_Caption(h0,TVariant(1),TVariant("Sales Manager"));
	var_Items->set_Caption(h0,TVariant(2),TVariant("London"));
	h0 = var_Items->Add(TVariant("Michael Suyama"));
	var_Items->set_Caption(h0,TVariant(1),TVariant("Sales Representative"));
	var_Items->set_Caption(h0,TVariant(2),TVariant("London"));
	h0 = var_Items->Add(TVariant("Robert King"));
	var_Items->set_Caption(h0,TVariant(1),TVariant("Sales Representative"));
	var_Items->set_Caption(h0,TVariant(2),TVariant("London"));
	h0 = var_Items->Add(TVariant("Laura Callahan"));
	var_Items->set_Caption(h0,TVariant(1),TVariant("Inside Sales Coordinator"));
	var_Items->set_Caption(h0,TVariant(2),TVariant("Seattle"));
	h0 = var_Items->Add(TVariant("Anne Dodsworth"));
	var_Items->set_Caption(h0,TVariant(1),TVariant("Sales Representative"));
	var_Items->set_Caption(h0,TVariant(2),TVariant("London"));
List1->FilterBarPromptPattern = L"London";
List1->EndUpdate();

472
How can I align captions of items with checkbox, with items with no checkbox

List1->BeginUpdate();
List1->Columns->Add(L"Default");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_CellImages(var_Items->Add(TVariant(0)),TVariant(0),TVariant("1"));
	var_Items->set_CellHasCheckBox(var_Items->Add(TVariant(1)),TVariant(0),true);
	var_Items->set_CellImages(var_Items->Add(TVariant(2)),TVariant(0),TVariant("1"));
List1->EndUpdate();

471
How do I programmatically scroll the control (method 2)
List1->BeginUpdate();
List1->ColumnAutoResize = false;
List1->ContinueColumnScroll = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExList\\Sample\\Access\\SAMPLE.ACCDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
List1->DataSource = (IDispatch*)rs;
List1->Layout = L"vscroll = 10";
List1->EndUpdate();

470
How do I programmatically scroll the control (method 1)
List1->BeginUpdate();
List1->ColumnAutoResize = false;
List1->ContinueColumnScroll = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExList\\Sample\\Access\\SAMPLE.ACCDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
List1->DataSource = (IDispatch*)rs;
List1->ScrollPos[true] = 10;
List1->EndUpdate();

469
How can I decode the Layout property
List1->BeginUpdate();
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"C1");
	var_Columns->Add(L"C2")->Position = 1;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_Caption(var_Items->Add(TVariant("SubItem 1.1")),TVariant(1),TVariant("SubItem 1.2"));
	var_Items->set_Caption(var_Items->Add(TVariant("SubItem 2.1")),TVariant(1),TVariant("SubItem 2.2"));
List1->Columns->get_Item(TVariant("C2"))->SortOrder = Exlistlib_tlb::SortOrderEnum::SortDescending;
List1->EndUpdate();
OutputDebugString( L"Encoded:" );
OutputDebugString( List1->Layout );
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		ExPrint 1.0 Control Library

	TypeLib: ExPrint.dll

	to define the namespace: Exprintlib_tlb
*/
//#include "EXPRINTLIB_TLB.h"
Exprintlib_tlb::IExPrintPtr var_Print = Variant::CreateObject(L"Exontrol.Print");
	OutputDebugString( L"Decoded: " );
	OutputDebugString( var_Print->get_Decode64TextW(List1->Layout) );

468
Does the title of the cell's tooltip supports HTML format

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"");
	var_Column->Caption = L"";
	var_Column->HTMLCaption = L"Column";
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("tooltip w/h different title"));
	var_Items->set_CellToolTip(h,TVariant(0),TVariant(String("<c><b><fgcolor=FF0000>Title</fgcolor></b><br>This is bit of text that's shown when the user hovers the cell. This shows the tit") +
"le centered with a different color."));
List1->EndUpdate();

467
How do I specify a different title for the cell's tooltip

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"");
	var_Column->Caption = L"This is the title";
	var_Column->HTMLCaption = L"Column";
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("tooltip w/h different title"));
	var_Items->set_CellToolTip(h,TVariant(0),L"This is bit of text that's shown when the user hovers the cell.");
List1->EndUpdate();

466
The cell's tooltip displays the column's caption in its title. How can I get ride of that

List1->BeginUpdate();
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"C1");
	var_Columns->Add(L"C2");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("tooltip w/h caption"));
	var_Items->set_CellToolTip(h,TVariant(0),L"This is bit of text that's shown when the user hovers the cell. This shows the column's caption in the title.");
	var_Items->set_Caption(h,TVariant(1),TVariant("tooltip no caption"));
	var_Items->set_CellToolTip(h,TVariant(1),L"This is bit of text that's shown when the user hovers the cell. This shows no column's caption in the title.");
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->get_Item(TVariant("C2"));
	var_Column->HTMLCaption = var_Column->Caption;
	var_Column->Caption = L"";
List1->EndUpdate();

465
When you click the cell it takes some time before the edit box appears, can this delay be removed

// Click event - Occurs when the user presses and then releases the left mouse button over the list control.
void __fastcall TForm1::List1Click(TObject *Sender)
{
	long h = List1->ItemFromPoint[-1,-1,ColIndex,HitTestInfo];
	List1->Items->Edit(h,TVariant(ColIndex));
}

List1->AllowEdit = true;
List1->Columns->Add(L"Default");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant(""));
	var_Items->Add(TVariant("Edit"));
	var_Items->Add(TVariant(""));

464
How can I programmatically show the column's filter

// RClick event - Fired when right mouse button is clicked
void __fastcall TForm1::List1RClick(TObject *Sender)
{
	long i = List1->ItemFromPoint[-1,-1,c,hit];
	List1->Columns->get_Item(TVariant(c))->ShowFilter(TVariant("-1,-1,128,128"));
}

List1->BeginUpdate();
List1->ShowFocusRect = false;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Items ");
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowExclude | Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exShowCheckBox;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->Add(TVariant("Item 2"));
	var_Items->Add(TVariant("Item 3"));
List1->EndUpdate();

463
I want to be able to click on one of the headers, and sort by other column. How can I do that

// ColumnClick event - Fired after the user clicks on column's header.
void __fastcall TForm1::List1ColumnClick(TObject *Sender,Exlistlib_tlb::IColumn   *Column)
{
	// Column.SortOrder = 1
	List1->SortOnClick = Exlistlib_tlb::SortOnClickEnum::exDefaultSort;
	List1->Columns->get_Item(TVariant("Sort"))->SortOrder = Exlistlib_tlb::SortOrderEnum::SortAscending;
	List1->SortOnClick = Exlistlib_tlb::SortOnClickEnum::exUserSort;
}

List1->BeginUpdate();
List1->SortOnClick = Exlistlib_tlb::SortOnClickEnum::exUserSort;
List1->Columns->Add(L"Items");
List1->Columns->Add(L"Sort")->Visible = false;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_Caption(var_Items->Add(TVariant("Item 1 (3)")),TVariant(1),TVariant(3));
	var_Items->set_Caption(var_Items->Add(TVariant("Item 2 (1)")),TVariant(1),TVariant(1));
	var_Items->set_Caption(var_Items->Add(TVariant("Item 3 (2)")),TVariant(1),TVariant(2));
List1->EndUpdate();

462
How can I sort by two-columns, one by date and one by time

List1->BeginUpdate();
List1->SingleSort = false;
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"Index")->FormatColumn = L"1 index ``";
	var_Columns->Add(L"Date")->SortType = Exlistlib_tlb::SortTypeEnum::SortDate;
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Time");
		var_Column->SortType = Exlistlib_tlb::SortTypeEnum::SortTime;
		var_Column->FormatColumn = L"time(value)";
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant(0));
	var_Items->set_Caption(h,TVariant(1),TVariant(TDateTime(2001,1,1).operator double()));
	var_Items->set_Caption(h,TVariant(2),TVariant(TDateTime(2001,1,1,10,00,00,0).operator double()));
	h = var_Items->Add(TVariant(0));
	var_Items->set_Caption(h,TVariant(1),TVariant(TDateTime(2000,12,31).operator double()));
	var_Items->set_Caption(h,TVariant(2),TVariant(TDateTime(2001,1,1,10,00,00,0).operator double()));
	h = var_Items->Add(TVariant(0));
	var_Items->set_Caption(h,TVariant(1),TVariant(TDateTime(2001,1,1).operator double()));
	var_Items->set_Caption(h,TVariant(2),TVariant(TDateTime(2001,1,1,6,00,00,0).operator double()));
	h = var_Items->Add(TVariant(0));
	var_Items->set_Caption(h,TVariant(1),TVariant(TDateTime(2000,12,31).operator double()));
	var_Items->set_Caption(h,TVariant(2),TVariant(TDateTime(2001,1,1,8,00,00,0).operator double()));
	h = var_Items->Add(TVariant(0));
	var_Items->set_Caption(h,TVariant(1),TVariant(TDateTime(2001,1,1).operator double()));
	var_Items->set_Caption(h,TVariant(2),TVariant(TDateTime(2001,1,1,8,00,00,0).operator double()));
	h = var_Items->Add(TVariant(0));
	var_Items->set_Caption(h,TVariant(1),TVariant(TDateTime(2000,12,31).operator double()));
	var_Items->set_Caption(h,TVariant(2),TVariant(TDateTime(2001,1,1,6,00,00,0).operator double()));
List1->Layout = L"multiplesort=\"C1:1 C2:1\"";
List1->EndUpdate();

461
How can I connect to a DBF file
List1->BeginUpdate();
List1->ColumnAutoResize = false;
List1->ContinueColumnScroll = false;
List1->MarkSearchColumn = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADODB.Recordset");
	rs->Open(TVariant("Select * From foxcode.DBF"),TVariant("Provider=vfpoledb;Data Source=C:\\Program Files\\Microsoft Visual FoxPro 9\\"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
List1->DataSource = (IDispatch*)rs;
List1->EndUpdate();

460
Does your control supports scrolling by touching the screen

List1->ColumnAutoResize = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExList\\Sample\\Access\\SAMPLE.ACCDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
List1->DataSource = (IDispatch*)rs;
List1->ContinueColumnScroll = true;
List1->ScrollBySingleLine = true;
List1->AutoDrag = Exlistlib_tlb::AutoDragEnum::exAutoDragScrollOnShortTouch | Exlistlib_tlb::AutoDragEnum::exAutoDragScroll;

459
How can I enlarge the size of the control's scroll bars, for using on touch screens

List1->ScrollBars = Exlistlib_tlb::ScrollBarsEnum::DisableBoth;
List1->ScrollWidth = 32;
List1->ScrollHeight = 32;
List1->ScrollButtonHeight = 32;
List1->ScrollButtonWidth = 32;

458
Is there a syntax for conditional formatting of items, based on CellState/CellStateChange

// CellStateChanged event - Fired after cell's state is changed.
void __fastcall TForm1::List1CellStateChanged(TObject *Sender,long   Item,long   ColIndex)
{
	Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
		var_Items->set_Caption(Item,TVariant(2),TVariant(var_Items->get_CellState(Item,TVariant(0))));
}

List1->BeginUpdate();
List1->ShowFocusRect = false;
List1->MarkSearchColumn = false;
List1->SelBackMode = Exlistlib_tlb::BackModeEnum::exTransparent;
Exlistlib_tlb::IConditionalFormatPtr var_ConditionalFormat = List1->ConditionalFormats->Add(L"%2 != 0",TNoParam());
	var_ConditionalFormat->Bold = true;
	var_ConditionalFormat->ForeColor = RGB(255,0,0);
	var_ConditionalFormat->ApplyTo = Exlistlib_tlb::FormatApplyToEnum::exFormatToItems;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"");
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->Width = 16;
	var_Column->AllowSizing = false;
List1->Columns->Add(L"Information");
List1->Columns->Add(L"Hidden")->Visible = false;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_Caption(var_Items->Add(TVariant("")),TVariant(1),TVariant("This is a bit of text associated"));
	long h = var_Items->Add(TVariant(""));
	var_Items->set_Caption(h,TVariant(1),TVariant("This is a bit of text associated"));
	var_Items->set_CellState(h,TVariant(0),1);
	var_Items->set_Caption(var_Items->Add(TVariant("")),TVariant(1),TVariant("This is a bit of text associated"));
List1->EndUpdate();

457
How can I display the caption bellow to picture

List1->BeginUpdate();
List1->ScrollBySingleLine = true;
List1->HTMLPicture[L"p1"] = TVariant("c:\\exontrol\\images\\zipdisk.gif");
List1->HTMLPicture[L"p2"] = TVariant("c:\\exontrol\\images\\auction.gif");
List1->Columns->Add(L"Default");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("<c><img>p1</img><br><c>your caption1"));
	var_Items->set_CellSingleLine(h,TVariant(0),Exlistlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
	var_Items->set_CaptionFormat(h,TVariant(0),Exlistlib_tlb::CaptionFormatEnum::exHTML);
	h = var_Items->Add(TVariant("<c><img>p2</img><br><c>your caption2"));
	var_Items->set_CellSingleLine(h,TVariant(0),Exlistlib_tlb::CellSingleLineEnum::exCaptionWordWrap);
	var_Items->set_CaptionFormat(h,TVariant(0),Exlistlib_tlb::CaptionFormatEnum::exHTML);
List1->EndUpdate();

456
How can I add a vertical padding

List1->BeginUpdate();
List1->DrawGridLines = Exlistlib_tlb::GridLinesEnum::exAllLines;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Padding");
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(false));
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(6));
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellPaddingRight,TVariant(6));
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellPaddingTop,TVariant(6));
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellPaddingBottom,TVariant(6));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("padding"));
	var_Items->Add(TVariant("padding"));
List1->EndUpdate();

455
How do you embed HTML options into the anchor click string

// AnchorClick event - Occurs when an anchor element is clicked.
void __fastcall TForm1::List1AnchorClick(TObject *Sender,BSTR   AnchorID,BSTR   Options)
{
	OutputDebugString( L"AnchorID" );
	OutputDebugString( L"Options" );
}

List1->BeginUpdate();
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"Car")->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("<a mazda_1;options for 1>Mazda <b>1</b></a>"));
	var_Items->Add(TVariant("<a mazda_2;options for 2>Mazda <b>2</b></a>"));
	var_Items->Add(TVariant("<a mazda_3;options for 3a>Mazda <b>3.a</b></a>"));
	var_Items->Add(TVariant("<a mazda_3;options for 3b>Mazda <b>3.b</b></a>"));
List1->EndUpdate();

454
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 3)

List1->BeginUpdate();
List1->VisualAppearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAEGg4BVEIQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQCWIAzATGYBRfIUEgjBM6ExwG78e") +
"gBHp/ZpkACIJJAaRjHQdJxGKKMQB9DIhCZpeKhWgkKIJBzOEyBRC4ERBGqNGrsIgLEqWZpnWhaNpWXYTLyBN64LhuK46g53O6wLxvK6hEr2dJ/YBcIAOfghf4NQ7EMRx" +
"LC8Mw3BDvYDkOAABAIgI="));
List1->SelBackColor = 0x1fffffe;
List1->ShowFocusRect = false;
List1->Columns->Add(L"Items");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_ItemBackColor(var_Items->Add(TVariant("red")),RGB(255,0,0));
	var_Items->set_ItemBackColor(var_Items->Add(TVariant("blue")),RGB(0,0,255));
	var_Items->set_ItemBackColor(var_Items->Add(TVariant("green")),RGB(0,255,0));
List1->EndUpdate();

453
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 2)

List1->BeginUpdate();
List1->SelBackMode = Exlistlib_tlb::BackModeEnum::exTransparent;
List1->ShowFocusRect = false;
List1->Columns->Add(L"Items");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_ItemBackColor(var_Items->Add(TVariant("red")),RGB(255,0,0));
	var_Items->set_ItemBackColor(var_Items->Add(TVariant("blue")),RGB(0,0,255));
	var_Items->set_ItemBackColor(var_Items->Add(TVariant("green")),RGB(0,255,0));
List1->EndUpdate();

452
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 1)

List1->BeginUpdate();
List1->SelBackColor = List1->BackColor;
List1->SelForeColor = List1->ForeColor;
List1->ShowFocusRect = true;
List1->Columns->Add(L"Items");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_ItemBackColor(var_Items->Add(TVariant("red")),RGB(255,0,0));
	var_Items->set_ItemBackColor(var_Items->Add(TVariant("blue")),RGB(0,0,255));
	var_Items->set_ItemBackColor(var_Items->Add(TVariant("green")),RGB(0,255,0));
List1->EndUpdate();

451
I am using the FormatColumn property, but is it also possible to have a blank field when the value is '0'. I've tried the 'leading zero' flag in the FormatColumn, but that did not work

List1->Columns->Add(L"Currency")->FormatColumn = L"int(value) != 0 ? (value format `0||3|,`) : ``";
List1->Items->Add(TVariant(123456789));
List1->Items->Add(TVariant(1234));
List1->Items->Add(TVariant(0));
List1->Items->Add(TVariant(2345));

450
Do you have a VB sample on how to use .FormatColumn to show this number '123456789' like '123,456,789'

List1->Columns->Add(L"Currency")->FormatColumn = L"value format `0||3|,`";
List1->Items->Add(TVariant(123456789));
List1->Items->Add(TVariant(1234));

449
Is it possible to change the image while do OLE Drag and Drop operations

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void __fastcall TForm1::List1OLEStartDrag(TObject *Sender,Exlistlib_tlb::IExDataObject   *Data,long *   AllowedEffects)
{
	// Data.SetData(Items.FocusItem)
}

List1->Columns->Add(L"Default");
List1->Items->Add(TVariant("Item 1"));
List1->Items->Add(TVariant("Item 2"));
List1->OLEDropMode = Exlistlib_tlb::exOLEDropModeEnum::exOLEDropManual;
List1->HTMLPicture[L"OLEDragDropImage"] = TVariant("C:\\Program Files\\Exontrol\\ExList\\Sample\\VB\\UNICODE\\unicode.jpg");

448
Is it possible to change the image while do OLE Drag and Drop operations

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void __fastcall TForm1::List1OLEStartDrag(TObject *Sender,Exlistlib_tlb::IExDataObject   *Data,long *   AllowedEffects)
{
	// Data.SetData(Items.FocusItem)
}

List1->Columns->Add(L"Default");
List1->Items->Add(TVariant("Item 1"));
List1->Items->Add(TVariant("Item 2"));
List1->OLEDropMode = Exlistlib_tlb::exOLEDropModeEnum::exOLEDropManual;
List1->VisualAppearance->Add(1,TVariant("C:\\Program Files\\Exontrol\\ExG2antt\\Sample\\EBN\\xpbselIcon.ebn"));
List1->Background[Exlistlib_tlb::BackgroundPartEnum::exDragDropAfter] = 0x1000000;
List1->Background[Exlistlib_tlb::BackgroundPartEnum::exDragDropBefore] = RGB(255,255,255);

447
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a snapshot
List1->BeginUpdate();
List1->VisualAppearance->Add(1,TVariant("c:\\exontrol\\images\\normal.ebn"));
List1->HTMLPicture[L"p1"] = TVariant("c:\\exontrol\\images\\card.png");
List1->HTMLPicture[L"p2"] = TVariant("c:\\exontrol\\images\\sun.png");
List1->AutoDrag = Exlistlib_tlb::AutoDragEnum::exAutoDragCopySnapShot;
List1->ShowFocusRect = false;
List1->DefaultItemHeight = 26;
List1->Columns->Add(L"Task");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_CaptionFormat(var_Items->Add(TVariant("<img>p1:32</img> Group 1")),TVariant(0),Exlistlib_tlb::CaptionFormatEnum::exHTML);
	var_Items->set_CaptionFormat(var_Items->Add(TVariant("<img>p2:32</img> Group 2")),TVariant(0),Exlistlib_tlb::CaptionFormatEnum::exHTML);
List1->EndUpdate();

446
How can copy and paste the selection to Microsoft Word, any OLE compliant application, as a image

List1->BeginUpdate();
List1->HTMLPicture[L"p1"] = TVariant("c:\\exontrol\\images\\card.png");
List1->HTMLPicture[L"p2"] = TVariant("c:\\exontrol\\images\\sun.png");
List1->HeaderHeight = 24;
List1->DefaultItemHeight = 48;
List1->DrawGridLines = Exlistlib_tlb::GridLinesEnum(0xfffffffc | Exlistlib_tlb::GridLinesEnum::exVLines);
List1->GridLineColor = RGB(240,240,240);
List1->SelBackMode = Exlistlib_tlb::BackModeEnum::exTransparent;
List1->ColumnAutoResize = false;
List1->ContinueColumnScroll = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExList\\Sample\\Access\\SAMPLE.ACCDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
List1->DataSource = (IDispatch*)rs;
List1->Columns->get_Item(TVariant(0))->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
List1->Columns->get_Item(TVariant(0))->FormatColumn = L"value + ` <img>p` + (1 + (value mod 3 ) ) + `</img>`";
List1->Columns->get_Item(TVariant(0))->Width = 112;
List1->AutoDrag = Exlistlib_tlb::AutoDragEnum::exAutoDragCopyImage;
List1->SingleSel = false;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_SelectItem(1,true);
	var_Items->set_SelectItem(2,true);
	var_Items->set_SelectItem(3,true);
List1->EndUpdate();

445
How can copy and paste the selection to Microsoft Word, Excel or any OLE compliant application, as a text

List1->BeginUpdate();
List1->ColumnAutoResize = false;
List1->ContinueColumnScroll = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExList\\Sample\\Access\\SAMPLE.ACCDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
List1->DataSource = (IDispatch*)rs;
List1->AutoDrag = Exlistlib_tlb::AutoDragEnum::exAutoDragCopyText;
List1->SingleSel = false;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_SelectItem(1,true);
	var_Items->set_SelectItem(3,true);
	var_Items->set_SelectItem(4,true);
	var_Items->set_SelectItem(5,true);
List1->EndUpdate();

444
How can I change the row's position to another, by drag and drop. Is it possible

List1->BeginUpdate();
List1->AutoDrag = Exlistlib_tlb::AutoDragEnum::exAutoDragPosition;
List1->Columns->Add(L"Task");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->Add(TVariant("Item 2"));
	var_Items->Add(TVariant("Item 3"));
	var_Items->Add(TVariant("Item 4"));
List1->EndUpdate();

443
Does your control support subscript or superscript, in HTML captions

List1->Columns->Add(L"Column")->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
List1->Items->Add(TVariant("<sha ;;0>Event <b><font ;6><off -6>2<off 4>3<off 4>1"));

442
Is there any property I can save and restore automatically the current setting, column position, size, and so on (2)

List1->BeginUpdate();
List1->Columns->Add(L"Column");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->Add(TVariant("Item 2"));
	var_Items->Add(TVariant("Item 3"));
List1->Layout = L"Select=\"0\";SingleSort=\"C0:2\";Columns=1";
List1->EndUpdate();

441
Is there any property I can save and restore automatically the current setting, column position, size, and so on (1)

List1->BeginUpdate();
List1->Columns->Add(L"Column");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->Add(TVariant("Item 2"));
	var_Items->Add(TVariant("Item 3"));
List1->Layout = TVariant(String("gBjAAwAAuABmABpABsAB0ABlAByhoAPIAOEPAA9gYABoABQAgUEg0XN4AOcJicKkpujMbjsfkMFk0YhkQgUOjUEl8gjcGO0ok8KMULjEaGMcj08kQAO8oMkTNEtGwAG") +
"QAqc7gUlhh1ABtAEsk9GpEfhElgVcsMupNlnlonlaAFcr0shUsp8QPEtnVJqJhmcIhUMh0QiU5sYAqMngUSuEMw07k8Qv0SgVRrNEuVflF2jF5x9JyNEm0TjQijemyE0" +
"jE3t+YruauoAu4Az1qj9BzRn0UzksSnAA0xDjY6qnAw8OiUQ0dwzN0zWz2t7j8/xURAGNvWH6k8xlEhklhEI0O/6QAgI=");
List1->EndUpdate();

440
Is there any public method to export the selected data

List1->BeginUpdate();
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"C1");
	var_Columns->Add(L"C2")->FormatColumn = L"1 index `A-Z`";
	var_Columns->Add(L"C3")->FormatColumn = L"100 index ``";
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->set_SelectItem(var_Items->Add(TVariant("Item 2")),true);
	var_Items->Add(TVariant("Item 3"));
List1->EndUpdate();
OutputDebugString( L"Export CSV Selected Items Only:" );
OutputDebugString( PChar(List1->Export(TVariant(""),TVariant("sel"))) );

439
How can I change the visual aspect of the links in the sort bar

List1->BeginUpdate();
List1->ColumnAutoResize = false;
/*
	Select the Component\Import Component...\Import a Type Library,
	to import the following Type Library:

		Microsoft ActiveX Data Objects 6.1 Library

	TypeLib: msado15.dll

	to define the namespace: Adodb_tlb
*/
//#include "ADODB_TLB.h"
Adodb_tlb::_RecordsetPtr rs = Variant::CreateObject(L"ADOR.Recordset");
	rs->Open(TVariant("Orders"),TVariant("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Program Files\\Exontrol\\ExList\\Sample\\Access\\SAMPLE.ACCDB"),Adodb_tlb::CursorTypeEnum::adOpenStatic,Adodb_tlb::LockTypeEnum::adLockOptimistic,0);
List1->DataSource = (IDispatch*)rs;
List1->SortBarHeight = 24;
List1->HeaderHeight = 24;
List1->BackColorSortBar = RGB(240,240,240);
List1->BackColorSortBarCaption = List1->BackColor;
List1->VisualAppearance->Add(1,TVariant(String("gBFLBCJwBAEHhEJAEGg4BdsIQAAYAQGKIYBkAKBQAGaAoDDgNw0QwAAxjMK0EwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQiiCYsS5GQBSFDcOwHGyQYDkCQpA") +
"AWL4tCyMc7QHKAWhrEAbJjgQYJUh+TQAAZCIJRXRQAL/K6rKwnSCQIgkUBpGKdBynEYoYxAfyESCJWyIahWAwoQjUMB1HLQAAxC5kKbkIxyBABFBdVjVeBYG78Bz+ABj" +
"EovbAMEwPBqAMwmIAZDheA4FR4AGhTXKcbxrFaXZSzKckPRoADSZq1Sg5LjDJI2ABqU6ABqNLZtJKsZS4apABrWeZ3Q7QMLdFTwA4PH6EZhxXAYbTVeaPZjQIBAgI"));
List1->SortBarVisible = true;
List1->SortBarCaption = L"Drag a <b>column</b> header here to group by that column.";
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->get_Item(TVariant(1));
	var_Column->Alignment = Exlistlib_tlb::AlignmentEnum::CenterAlignment;
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellBackColor,TVariant(15790320));
	var_Column->SortOrder = true;
Exlistlib_tlb::IColumnPtr var_Column1 = List1->Columns->get_Item(TVariant(5));
	var_Column1->Alignment = Exlistlib_tlb::AlignmentEnum::CenterAlignment;
	var_Column1->set_Def(Exlistlib_tlb::DefColumnEnum::exCellBackColor,TVariant(16119285));
	var_Column1->SortOrder = true;
List1->Background[Exlistlib_tlb::BackgroundPartEnum::exSortBarLinkColor] = 0x1000000;
List1->EndUpdate();

438
How can I have a case-insensitive filter (exFilterDoCaseSensitive flag is not set)

List1->BeginUpdate();
List1->MarkSearchColumn = false;
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Car");
		var_Column->DisplayFilterButton = true;
		var_Column->FilterType = Exlistlib_tlb::FilterTypeEnum::exFilter;
		var_Column->Filter = L"MAZDA";
	Exlistlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Equipment");
		var_Column1->DisplayFilterButton = true;
		var_Column1->DisplayFilterPattern = false;
		var_Column1->CustomFilter = L"Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*";
		var_Column1->FilterType = Exlistlib_tlb::FilterTypeEnum::exPattern;
		var_Column1->Filter = L"AIR BAG";
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_Caption(var_Items->Add(TVariant("Mazda")),TVariant(1),TVariant("Air Bag"));
	var_Items->set_Caption(var_Items->Add(TVariant("Toyota")),TVariant(1),TVariant("Air Bag,Air condition"));
	var_Items->set_Caption(var_Items->Add(TVariant("Ford")),TVariant(1),TVariant("Air condition"));
	var_Items->set_Caption(var_Items->Add(TVariant("Nissan")),TVariant(1),TVariant("Air Bag,ABS,ESP"));
	var_Items->set_Caption(var_Items->Add(TVariant("Mazda")),TVariant(1),TVariant("Air Bag, ABS,ESP"));
	var_Items->set_Caption(var_Items->Add(TVariant("Mazda")),TVariant(1),TVariant("ABS,ESP"));
List1->ApplyFilter();
List1->EndUpdate();

437
How can I have a case-sensitive filter

List1->BeginUpdate();
List1->MarkSearchColumn = false;
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Car");
		var_Column->DisplayFilterButton = true;
		var_Column->FilterType = Exlistlib_tlb::FilterTypeEnum::exFilterDoCaseSensitive | Exlistlib_tlb::FilterTypeEnum::exFilter;
		var_Column->Filter = L"Mazda";
	Exlistlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"Equipment");
		var_Column1->DisplayFilterButton = true;
		var_Column1->DisplayFilterPattern = false;
		var_Column1->CustomFilter = L"Air Bag||*Air Bag*|||Air condition||*Air condition*|||ABS||*ABS*|||ESP||*ESP*";
		var_Column1->FilterType = Exlistlib_tlb::FilterTypeEnum::exFilterDoCaseSensitive | Exlistlib_tlb::FilterTypeEnum::exPattern;
		var_Column1->Filter = L"Air Bag";
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_Caption(var_Items->Add(TVariant("Mazda")),TVariant(1),TVariant("Air Bag"));
	var_Items->set_Caption(var_Items->Add(TVariant("Toyota")),TVariant(1),TVariant("Air Bag,Air condition"));
	var_Items->set_Caption(var_Items->Add(TVariant("Ford")),TVariant(1),TVariant("Air condition"));
	var_Items->set_Caption(var_Items->Add(TVariant("Nissan")),TVariant(1),TVariant("Air Bag,ABS,ESP"));
	var_Items->set_Caption(var_Items->Add(TVariant("Mazda")),TVariant(1),TVariant("Air Bag, ABS,ESP"));
	var_Items->set_Caption(var_Items->Add(TVariant("Mazda")),TVariant(1),TVariant("ABS,ESP"));
List1->ApplyFilter();
List1->EndUpdate();

436
I have several columns, but noticed that the filter is using AND between columns, but I need OR clause for filtering. Is it possible

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Item");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->Filter = L"Child 1";
	var_Column->FilterType = Exlistlib_tlb::FilterTypeEnum::exFilter;
Exlistlib_tlb::IColumnPtr var_Column1 = List1->Columns->Add(L"Date");
	var_Column1->DisplayFilterButton = true;
	var_Column1->DisplayFilterPattern = false;
	var_Column1->DisplayFilterDate = true;
	var_Column1->FilterList = Exlistlib_tlb::FilterListEnum::exShowExclude | Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exShowCheckBox | Exlistlib_tlb::FilterListEnum::exNoItems;
	var_Column1->Filter = L"TDateTime(2010,12,28).operator double()";
	var_Column1->FilterType = Exlistlib_tlb::FilterTypeEnum::exDate;
List1->FilterCriteria = L"%0 or %1";
List1->Description[Exlistlib_tlb::DescriptionTypeEnum::exFilterBarOr] = L"<font ;18><fgcolor=FF0000>or</fgcolor></font>";
List1->Description[Exlistlib_tlb::DescriptionTypeEnum::exFilterBarAnd] = L"<font ;18><fgcolor=FF0000>and</fgcolor></font>";
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("Root 1"));
	var_Items->set_Caption(var_Items->Add(TVariant("Child 1")),TVariant(1),TVariant(TDateTime(2010,12,27).operator double()));
	var_Items->set_Caption(var_Items->Add(TVariant("Child 2")),TVariant(1),TVariant(TDateTime(2010,12,28).operator double()));
	h = var_Items->Add(TVariant("Root 2"));
	var_Items->set_Caption(var_Items->Add(TVariant("Child 1")),TVariant(1),TVariant(TDateTime(2010,12,29).operator double()));
	var_Items->set_Caption(var_Items->Add(TVariant("Child 2")),TVariant(1),TVariant(TDateTime(2010,12,30).operator double()));
List1->ApplyFilter();
List1->EndUpdate();

435
Is it possible exclude the dates being selected in the drop down filter window

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Date");
	var_Column->SortType = Exlistlib_tlb::SortTypeEnum::SortDate;
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->DisplayFilterDate = true;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowExclude | Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exShowCheckBox | Exlistlib_tlb::FilterListEnum::exNoItems;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant(TDateTime(2010,12,27).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,28).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,29).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,30).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,31).operator double()));
List1->EndUpdate();

434
How can I display a calendar control inside the drop down filter window

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Date");
	var_Column->SortType = Exlistlib_tlb::SortTypeEnum::SortDate;
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->DisplayFilterDate = true;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exShowCheckBox | Exlistlib_tlb::FilterListEnum::exNoItems;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant(TDateTime(2010,12,27).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,28).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,29).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,30).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,31).operator double()));
List1->EndUpdate();

433
Is it possible to include the dates as checkb-boxes in the drop down filter window

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Dates");
	var_Column->SortType = Exlistlib_tlb::SortTypeEnum::SortDate;
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = true;
	var_Column->DisplayFilterDate = true;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exShowCheckBox;
	var_Column->Filter = L"to 12/27/2010";
	var_Column->FilterType = Exlistlib_tlb::FilterTypeEnum::exDate;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant(TDateTime(2010,12,27).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,28).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,29).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,30).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,31).operator double()));
List1->ApplyFilter();
List1->EndUpdate();

432
How can I filter items for dates before a specified date

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Dates");
	var_Column->SortType = Exlistlib_tlb::SortTypeEnum::SortDate;
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = true;
	var_Column->DisplayFilterDate = true;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exNoItems;
	var_Column->Filter = L"to 12/27/2010";
	var_Column->FilterType = Exlistlib_tlb::FilterTypeEnum::exDate;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant(TDateTime(2010,12,27).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,28).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,29).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,30).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,31).operator double()));
List1->ApplyFilter();
List1->EndUpdate();

431
Is it possible to filter dates

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Dates");
	var_Column->SortType = Exlistlib_tlb::SortTypeEnum::SortDate;
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = true;
	var_Column->DisplayFilterDate = true;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exNoItems;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant(TDateTime(2010,12,27).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,28).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,29).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,30).operator double()));
	var_Items->Add(TVariant(TDateTime(2010,12,31).operator double()));
List1->EndUpdate();

430
Is it possible to change the Exclude field name to something different, in the drop down filter window

List1->BeginUpdate();
List1->Description[Exlistlib_tlb::DescriptionTypeEnum::exFilterBarExclude] = L"Leaving out";
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowExclude | Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exShowCheckBox;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("Root 1"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
	h = var_Items->Add(TVariant("Root 2"));
	var_Items->Add(TVariant("Child 1"));
List1->EndUpdate();

429
How can I display the Exclude field in the drop down filter window

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowExclude | Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exShowCheckBox;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("Root 1"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
	h = var_Items->Add(TVariant("Root 2"));
	var_Items->Add(TVariant("Child 1"));
List1->EndUpdate();

428
Is it possible to show and ensure the focused item from the control, in the drop down filter window

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowFocusItem | Exlistlib_tlb::FilterListEnum::exShowCheckBox;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("Root 1"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
	h = var_Items->Add(TVariant("Root 2"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->set_SelectItem(var_Items->Add(TVariant("Child 2")),true);
List1->EndUpdate();

427
Is it possible to show only blanks items with no listed items from the control

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowBlanks | Exlistlib_tlb::FilterListEnum::exNoItems;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("Root 1"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
	h = var_Items->Add(TVariant("Root 2"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
List1->EndUpdate();

426
How can I include the blanks items in the drop down filter window

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowBlanks | Exlistlib_tlb::FilterListEnum::exShowCheckBox;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("Root 1"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
	h = var_Items->Add(TVariant("Root 2"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
List1->EndUpdate();

425
How can I select multiple items in the drop down filter window, using check-boxes

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exShowCheckBox;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("Root 1"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
	h = var_Items->Add(TVariant("Root 2"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
List1->EndUpdate();

424
Is it possible to allow a single item being selected in the drop down filter window

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exSingleSel;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("Root 1"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
	h = var_Items->Add(TVariant("Root 2"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
List1->EndUpdate();

423
How can I display no (All) item in the drop down filter window

List1->BeginUpdate();
List1->Description[Exlistlib_tlb::DescriptionTypeEnum::exFilterBarAll] = L"";
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = true;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exNoItems;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("Root 1"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
	h = var_Items->Add(TVariant("Root 2"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
List1->EndUpdate();

422
Is it possible to display no items in the drop down filter window, so only the pattern is visible

List1->BeginUpdate();
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Items");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = true;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exNoItems;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("Root 1"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
	h = var_Items->Add(TVariant("Root 2"));
	var_Items->Add(TVariant("Child 1"));
	var_Items->Add(TVariant("Child 2"));
List1->EndUpdate();

421
How can I sort the value gets listed in the drop down filter window

List1->MarkSearchColumn = false;
List1->Description[Exlistlib_tlb::DescriptionTypeEnum::exFilterBarAll] = L"";
List1->Description[Exlistlib_tlb::DescriptionTypeEnum::exFilterBarBlanks] = L"";
List1->Description[Exlistlib_tlb::DescriptionTypeEnum::exFilterBarNonBlanks] = L"";
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"P1");
	var_Column->DisplayFilterButton = true;
	var_Column->DisplayFilterPattern = false;
	var_Column->FilterList = Exlistlib_tlb::FilterListEnum::exSortItemsDesc;
Exlistlib_tlb::IColumnPtr var_Column1 = List1->Columns->Add(L"P2");
	var_Column1->DisplayFilterButton = true;
	var_Column1->DisplayFilterPattern = false;
	var_Column1->FilterList = Exlistlib_tlb::FilterListEnum::exSortItemsAsc;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("Z3"));
	var_Items->set_Caption(h,TVariant(1),TVariant("C"));
	var_Items->set_Caption(var_Items->Add(TVariant("Z1")),TVariant(1),TVariant("B"));
	var_Items->set_Caption(var_Items->Add(TVariant("Z2")),TVariant(1),TVariant("A"));

420
How can I add or change the padding (spaces) for captions in the control's header

List1->BeginUpdate();
List1->Columns->Add(L"Padding-Left")->set_Def(Exlistlib_tlb::DefColumnEnum::exHeaderPaddingLeft,TVariant(18));
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Padding-Right");
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exHeaderPaddingRight,TVariant(18));
	var_Column->HeaderAlignment = Exlistlib_tlb::AlignmentEnum::RightAlignment;
List1->EndUpdate();

419
Do you have any plans to add cell spacing and cell padding to the cells

List1->BeginUpdate();
List1->DrawGridLines = Exlistlib_tlb::GridLinesEnum(0xfffffffc | Exlistlib_tlb::GridLinesEnum::exVLines);
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Padding-Left");
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellPaddingLeft,TVariant(18));
List1->Columns->Add(L"No-Padding")->set_Def(Exlistlib_tlb::DefColumnEnum::exCellHasCheckBox,TVariant(true));
List1->Columns->Add(L"Empty")->Position = 0;
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_Caption(var_Items->Add(TVariant("Item A.1")),TVariant(1),TVariant("Item A.2"));
	var_Items->set_Caption(var_Items->Add(TVariant("Item B.1")),TVariant(1),TVariant("Item B.2"));
	var_Items->set_Caption(var_Items->Add(TVariant("Item C.1")),TVariant(1),TVariant("Item C.2"));
List1->EndUpdate();

418
Is it possible display numbers in the same format no matter of regional settings in the control panel

List1->BeginUpdate();
List1->Columns->Add(L"Def")->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant(100000.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '') +  ' <fgcolor=808080>(default positive)'");
	h = var_Items->Add(TVariant(100000.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '2|.|3|,|1|1')");
	h = var_Items->Add(TVariant(-100000.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '') +  ' <fgcolor=808080>(default negative)'");
	h = var_Items->Add(TVariant(-100000.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '2|.|3|,|1|1')");
List1->EndUpdate();

417
Is it possible to add a 0 for numbers less than 1 instead .7 to show 0.8

List1->BeginUpdate();
List1->Columns->Add(L"Def")->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant(0.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(TVariant(0.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '|||||0') +  ' <fgcolor=808080>(Display no leading zeros)'");
List1->EndUpdate();

416
How can I specify the format for negative numbers

List1->BeginUpdate();
List1->Columns->Add(L"Def")->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant(-100000.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(TVariant(-100000.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '||||1') +  ' <fgcolor=808080>(Negative sign, number; for example, -1.1)'");
List1->EndUpdate();

415
Is it possible to change the grouping character when display numbers

List1->BeginUpdate();
List1->Columns->Add(L"Def")->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant(100000.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(TVariant(100000.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '|||-') +  ' <fgcolor=808080>(grouping character is -)'");
List1->EndUpdate();

414
How can I display numbers with 2 digits in each group

List1->BeginUpdate();
List1->Columns->Add(L"Def")->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant(100000.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(TVariant(100000.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '||2') +  ' <fgcolor=808080>(grouping by 2 digits)'");
List1->EndUpdate();

413
How can I display my numbers using a different decimal separator

List1->BeginUpdate();
List1->Columns->Add(L"Def")->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant(100.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(TVariant(100.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '|;') +  ' <fgcolor=808080>(decimal separator is <b>;</b>)'");
List1->EndUpdate();

412
Is it possible to display the numbers using 3 (three) digits

List1->BeginUpdate();
List1->Columns->Add(L"Def")->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant(100.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '') +  ' <fgcolor=808080>(default)'");
	h = var_Items->Add(TVariant(100.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format '3') +  ' <fgcolor=808080>(3 digits)'");
	h = var_Items->Add(TVariant(100.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format 2) +  '  <fgcolor=808080>(2 digits)'");
	h = var_Items->Add(TVariant(100.27));
	var_Items->set_FormatCell(h,TVariant(0),L"(value format 1) +  ' <fgcolor=808080>(1 digit)'");
List1->EndUpdate();

411
Is it possible to format numbers

List1->BeginUpdate();
List1->MarkSearchColumn = false;
List1->SelBackColor = List1->BackColor;
List1->SelForeColor = List1->ForeColor;
List1->ShowFocusRect = true;
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"Name");
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"A");
		var_Column->SortType = Exlistlib_tlb::SortTypeEnum::SortNumeric;
		var_Column->AllowSizing = false;
		var_Column->Width = 36;
		var_Column->FormatColumn = L"len(value) ? value + ' +'";
	Exlistlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"B");
		var_Column1->SortType = Exlistlib_tlb::SortTypeEnum::SortNumeric;
		var_Column1->AllowSizing = false;
		var_Column1->Width = 36;
		var_Column1->FormatColumn = L"len(value) ? value + ' +'";
	Exlistlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"C");
		var_Column2->SortType = Exlistlib_tlb::SortTypeEnum::SortNumeric;
		var_Column2->AllowSizing = false;
		var_Column2->Width = 36;
		var_Column2->FormatColumn = L"len(value) ? value + ' ='";
	Exlistlib_tlb::IColumnPtr var_Column3 = var_Columns->Add(L"A+B+C");
		var_Column3->SortType = Exlistlib_tlb::SortTypeEnum::SortNumeric;
		var_Column3->Width = 64;
		var_Column3->ComputedField = L"dbl(%1)+dbl(%2)+dbl(%3)";
		var_Column3->FormatColumn = TVariant(String("type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=00") +
"00FF>+'+(value format '2|.|3|,' ): '0.00') )");
		var_Column3->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	long h = var_Items->Add(TVariant("Item"));
	var_Items->set_CaptionFormat(h,TVariant(4),Exlistlib_tlb::CaptionFormatEnum::exComputedField);
	h = var_Items->Add(TVariant("Item 1"));
	var_Items->set_Caption(h,TVariant(1),TVariant(7));
	var_Items->set_Caption(h,TVariant(2),TVariant(3));
	var_Items->set_Caption(h,TVariant(3),TVariant(1));
	h = var_Items->Add(TVariant("Item 2"));
	var_Items->set_Caption(h,TVariant(1),TVariant(-2));
	var_Items->set_Caption(h,TVariant(2),TVariant(-2));
	var_Items->set_Caption(h,TVariant(3),TVariant(-4));
	h = var_Items->Add(TVariant("Item 3"));
	var_Items->set_Caption(h,TVariant(1),TVariant(2));
	var_Items->set_Caption(h,TVariant(2),TVariant(2));
	var_Items->set_Caption(h,TVariant(3),TVariant(-4));
List1->EndUpdate();

410
Is it possible background color displayed when the mouse passes over an item

List1->BeginUpdate();
List1->Columns->Add(L"Def");
List1->HotBackColor = RGB(0,0,128);
List1->HotForeColor = RGB(255,255,255);
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item A"));
	var_Items->Add(TVariant("Item B"));
	var_Items->Add(TVariant("Item C"));
List1->EndUpdate();

409
Is it possible to specify the cell's value but still want to display some formatted text instead the value

List1->BeginUpdate();
List1->MarkSearchColumn = false;
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"Name");
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Values");
		var_Column->SortType = Exlistlib_tlb::SortTypeEnum::SortNumeric;
		var_Column->AllowSizing = false;
		var_Column->Width = 64;
		var_Column->FormatColumn = L"((0:=dbl(value)) < 10? '<fgcolor=808080><font ;7>' :'<b>') + currency(=:0)";
		var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_FormatCell(var_Items->Add(TVariant("Item A")),TVariant(1),L"`<none>`");
	var_Items->set_Caption(var_Items->Add(TVariant("Item 1")),TVariant(1),TVariant(10));
	var_Items->set_Caption(var_Items->Add(TVariant("Item 2")),TVariant(1),TVariant(15));
	var_Items->set_Caption(var_Items->Add(TVariant("Item 3")),TVariant(1),TVariant(25));
List1->EndUpdate();

408
I am using the FormatColumn to display the current currency, but would like hide some values. Is it possible

List1->BeginUpdate();
List1->MarkSearchColumn = false;
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"Name");
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Values");
		var_Column->SortType = Exlistlib_tlb::SortTypeEnum::SortNumeric;
		var_Column->AllowSizing = false;
		var_Column->Width = 64;
		var_Column->FormatColumn = L"((0:=dbl(value)) < 10? '<fgcolor=808080><font ;7>' :'<b>') + currency(=:0)";
		var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->set_FormatCell(var_Items->Add(TVariant("Item A")),TVariant(1),L" ");
	var_Items->set_Caption(var_Items->Add(TVariant("Item 1")),TVariant(1),TVariant(10));
	var_Items->set_Caption(var_Items->Add(TVariant("Item 2")),TVariant(1),TVariant(15));
	var_Items->set_Caption(var_Items->Add(TVariant("Item 3")),TVariant(1),TVariant(25));
List1->EndUpdate();

407
I am using the FormatColumn to format my columns. Is it possible to ignore the SelForeColor, so the foreground color for selected items does not override my settings

// SelectionChanged event - Fired after a new item is selected.
void __fastcall TForm1::List1SelectionChanged(TObject *Sender)
{
	Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
		var_Items->ClearItemBackColor(-1);
		var_Items->set_ItemBackColor(var_Items->get_SelectedItem(0),RGB(128,255,255));
}

List1->BeginUpdate();
List1->MarkSearchColumn = false;
List1->SelForeColor = List1->ForeColor;
List1->SelBackColor = List1->BackColor;
List1->ShowFocusRect = false;
Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"Format");
		var_Column->FormatColumn = TVariant(String("type(value) in (0,1) ? 'null' : ( dbl(value)<0 ? '<fgcolor=FF0000>'+ (value format '2|.|3|,|1' ) : (dbl(value)>0 ? '<fgcolor=00") +
"00FF>+'+(value format '2|.|3|,' ): '0.00') )");
		var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant(10));
	var_Items->Add(TVariant(-8));
List1->EndUpdate();

406
Is it possible to change the height for all items at once

List1->BeginUpdate();
List1->Columns->Add(L"Items");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->Add(TVariant("Item 2"));
	var_Items->Add(TVariant("Item 3"));
	var_Items->Add(TVariant("Item 4"));
List1->EndUpdate();
List1->DefaultItemHeight = 12;
List1->Items->set_ItemHeight(-1,12);

405
How can I change the shape of the line to be shown when user drag and drop data over the control

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void __fastcall TForm1::List1OLEStartDrag(TObject *Sender,Exlistlib_tlb::IExDataObject   *Data,long *   AllowedEffects)
{
	// Data.SetData("data to be dragged")
}

List1->OLEDropMode = Exlistlib_tlb::exOLEDropModeEnum::exOLEDropManual;
List1->VisualAppearance->Add(1,TVariant("C:\\Program Files\\Exontrol\\ExList\\Sample\\VB\\DragDrop\\insert_bottom.ebn"));
List1->Background[Exlistlib_tlb::BackgroundPartEnum::exListOLEDropPosition] = 0x1000000;
List1->Columns->Add(L"Default");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->Add(TVariant("Item 2"));

404
How can I highlight the item from cursor when the user drag and drop data over the control

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void __fastcall TForm1::List1OLEStartDrag(TObject *Sender,Exlistlib_tlb::IExDataObject   *Data,long *   AllowedEffects)
{
	// Data.SetData("data to be dragged")
}

List1->OLEDropMode = Exlistlib_tlb::exOLEDropModeEnum::exOLEDropManual;
List1->Background[Exlistlib_tlb::BackgroundPartEnum::exListOLEDropPosition] = RGB(1,0,0);
List1->Columns->Add(L"Default");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->Add(TVariant("Item 2"));

403
How can I start drag and drop items

// OLEStartDrag event - Occurs when the OLEDrag method is called.
void __fastcall TForm1::List1OLEStartDrag(TObject *Sender,Exlistlib_tlb::IExDataObject   *Data,long *   AllowedEffects)
{
	// Data.SetData("to be carried by drag and drop")
	AllowedEffects = 1;
}

List1->BeginUpdate();
List1->OLEDropMode = Exlistlib_tlb::exOLEDropModeEnum::exOLEDropManual;
List1->Columns->Add(L"Default");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("Item 1"));
	var_Items->Add(TVariant("Item 2"));
List1->EndUpdate();

402
When I'm trying to show string with "line break" character (vbCrLF) in a textbox, it shows 2 squares. Is there any way to hide these squares

Exlistlib_tlb::IColumnsPtr var_Columns = List1->Columns;
	var_Columns->Add(L"Value");
	Exlistlib_tlb::IColumnPtr var_Column = var_Columns->Add(L"CellSingleLine = False");
		var_Column->ComputedField = L"%0";
		var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCellSingleLine,TVariant(false));
	Exlistlib_tlb::IColumnPtr var_Column1 = var_Columns->Add(L"FormatColumn/replace CRLF");
		var_Column1->ComputedField = L"%0";
		var_Column1->FormatColumn = L"value replace `\\r\\n` with ``";
	Exlistlib_tlb::IColumnPtr var_Column2 = var_Columns->Add(L"FormatColumn/replace TAB,CRLF");
		var_Column2->ComputedField = L"%0";
		var_Column2->FormatColumn = L"(value replace `\\t` with ``) replace `\\r\\n` with ``";
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("a\\ta\\r\\nb\\tb"));

401
The Column.Alignment property does not seem to work for cells with images in them. What can be done

List1->BeginUpdate();
List1->Images(TVariant(String("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq") +
"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA="));
List1->DrawGridLines = Exlistlib_tlb::GridLinesEnum::exAllLines;
List1->HeaderHeight = 24;
List1->DefaultItemHeight = 24;
Exlistlib_tlb::IColumnPtr var_Column = List1->Columns->Add(L"Image");
	var_Column->AllowSizing = false;
	var_Column->Width = 32;
	var_Column->HTMLCaption = L"<img>1</img>";
	var_Column->HeaderAlignment = Exlistlib_tlb::AlignmentEnum::CenterAlignment;
	var_Column->Alignment = Exlistlib_tlb::AlignmentEnum::CenterAlignment;
	var_Column->set_Def(Exlistlib_tlb::DefColumnEnum::exCaptionFormat,TVariant(1));
List1->Columns->Add(L"Rest");
Exlistlib_tlb::IItemsPtr var_Items = List1->Items;
	var_Items->Add(TVariant("<img>1</img>"));
	var_Items->Add(TVariant("<img>2</img>"));
	var_Items->Add(TVariant("<img>3</img>"));
List1->EndUpdate();